export default {
  // 此处编写的就是Vue组件实例的配置项，通过一定语法，可以直接混入到组件内部
  // data methods computed 生命周期函数
  // 注意点：
  // 1.如果此处和组件内，提供了同名的data 或methods, 则组件内优先级更高
//   2.如果编写了生命周期函数，则mixins中的生命周期函数和页面的生命周期函数，会用数组管理统一执行
  created () {
    // console.log('gaga')
  },
  data () {
    return {
      title: '标题'

    }
  },
  methods: {
    sayHi () {
      // console.log('你好')
    },
    // 下面这里封装了一个方法，登陆确认
    // 1.根据未登录 => 显示确认框，返回true
    // 2.如果已登录 => 啥也不干，返回false
    loginConfirm () {
      // 判断token是否存在
      // 1.如果token不存在，弹确认框
      // 2.如果token存在，继续请求操作就行不用弹确认框
      if (!this.$store.getters.token) {
      // 弹确认框
      //  console.log('弹确认框')
        this.$dialog.confirm({
          title: '温馨提示',
          message: '此时需要先登录才能继续操作',
          // 下面是确认和取消的文案
          confirmButtonText: '去登陆',
          cancelButtonText: '再逛逛'
        })
        // 如果确定就跳转到登录
          .then(() => {
            // 如果希望，跳转到登陆=>登录后可以回跳回来，需要跳转去携带参数（当前的路径地址）
            // this.$route.fullpath (会包含查询参数)
            this.$router.replace({
              path: '/login',
              query: {
                backUrl: this.$route.fullPath
              }
            })
          })
          // 取消就不跳转
          .catch(() => {})
        return true
      }
      return false
    }
  }
}
